﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ServiceSATT;
using ApplicationContext;

namespace UI_SATT
{
    public partial class FrmNuevaAfiliacion : Form, IInterfazAfiliadoclub
    {
        public FrmNuevaAfiliacion()
        {
            InitializeComponent();
        }
        public FrmNuevaAfiliacion(int Dni, string Club)
        {
            InitializeComponent();
            DniActual = Dni;
            this.Club = Club;
        }

        public FrmNuevaAfiliacion(string club)
        {
            InitializeComponent();
            this.Club = club;
        }
        string ImplementaAfiliadoClub = "AfiliadoclubService";
        IAfiliadoclubService AfiliadoClub;
        string ImplementaPersona = "PersonaService";
        Form NuevoAfiliado;
        int DniActual;
        public static int DniAfiliado;

        private void FrmNuevaAfiliacion_Load(object sender, EventArgs e)
        {
            AfiliadoClub = (IAfiliadoclubService)AppContext.Instance.GetObject(ImplementaAfiliadoClub);
            if (DniActual > 0)
            {
                TxtDni.Text = DniActual.ToString();
                AfiliadoClub.ObtenerAfiliadoclub(this);
            }


        }

        #region IInterfazAfiliadoclub Members

        public DateTime Fechainscripcion
        {
            get { return DateTime.Today; }
        }

        public string Club
        {
            get
            {
               return TxtClub.Text;
            }
            set
            {
                TxtClub.Text = value;
            }
        }

        public int Dni
        {
            get 
                {
                    return int.Parse(TxtDni.Text);
                }
            set 
                {  
                    TxtDni.Text=value.ToString(); 
                }
        }

        public bool Estado
        {
            get
            {
                return ChkEstado.Checked;
            }
            set
            {
                if (value)
                {
                    ChkEstado.Checked = true;
                }
                else
                {
                    ChkEstado.Checked = false;
                }
            }
        }

        #endregion

        private void BtnAceptar_Click(object sender, EventArgs e)
        {
            AfiliadoClub.Modificar(this);
            this.DialogResult = DialogResult.OK;
            this.Close();
        }

        private void BtnNuevoAfiliado_Click(object sender, EventArgs e)
        {

            NuevoAfiliado = new FrmNuevoAfiliado("Afiliado",this);
            if (NuevoAfiliado.ShowDialog()== DialogResult .OK)
            { this.TxtDni.Text = DniAfiliado.ToString();
            }


        }

        private void TxtDni_KeyPress_1(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == 13)
            {
                try
                {
                    IPersonaService persona = (IPersonaService)AppContext.Instance.GetObject(ImplementaPersona);

                    if (persona.ObtenerNombre(int.Parse(TxtDni.Text), "Afiliado") == "")
                    {
                        MessageBox.Show("El Dni Ingresado No Existe O No Corresponde A Un Afiliado");
                        LblOk.Visible = false;
                        BtnNuevoAfiliado.Enabled = true;
                    }
                    else
                    {
                        LblOk.Visible = true;
                        BtnNuevoAfiliado.Enabled = false;
                        AfiliadoClub.Modificar(this);
                    }


                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);

                }
            }
        }


      
    }
}
